import registerApi from '../../api/register'
import WxValidate from "../../utils/WxValidate"
const FormData = require('../../utils/formData/formData')

Page({
  data: {
    areaCode:null,
    areaName:null,
    storeName:'',
    address:"",
    password:"",
    confirmPassWord:"",
    business:"",
    phone:"",
    sms:"",
    code:'',
    idCardBack:"",
    idCardPositive:"",
    licensePeriod:"",//	营业执照有效期
    license:"",//营业 url
    legalPerson:"",//法人
    taxNumber:"",
    idCard:"",//身份证号
    idCardName:"",
    idCardPeriod:"",//身份证有效期 
    contact:"",
    validation:{
      storeNameErr:'',
      areaCodeErr:'',
      addressErr:"",
      passwordErr:"",
      confirmPassWordErr:"",
      businessErr:"",
      legalPersonErr:"",
      phoneErr:"",
      smsErr:"",
      taxNumberErr:"",
      licensePeriodErr:"",
      idCardErr:"",
      idCardPeriodErr:"",
      contactErr:"",
      legalPersonNameErr:""
    },
    areaShow:false,
    areaList:{
      province_list: {
        110000: '北京市',
        120000: '天津市',
      },
      city_list: {
        110100: '北京市',
        120100: '天津市',
      },
      county_list: {
        110101: '东城区',
        110102: '西城区',
        // ....
      },
    },
    headFileList:[

    ],
    backFileList:[],
    headBusinessFileList:[],
    region:[],
    isCountDown:true,
    countFlg:false,
    WxValidate:{}
    
  },
  onLoad() {
      //初始化验证参数
      this.initValidate()
  },
  initValidate() {
    const rules = {
      storeName: {
        required: true,
      },
      areaName:{
        required: true,
      },
      address: {
        required: true,
      },
      contact: {
        required: true,
      },
      password: {
        required: true,
      },
      confirmPassWord: {
        required: true,
      },
      legalPerson:{
        required: true,
      },
      taxNumber:{
        required: true,
      },
      licensePeriod:{
        required: true,
      },
      idCard:{
        required: true,
        idcard:true,
      },
      idCardPeriod:{
        required: true,
      },
      phone:{
        required: true,
        tel:true,
      },
      sms:{
        required: true,
      },
      code:{
        required: false
      }
    }
    const messages = {
      storeName: {
        required: '请输入门店名称'
      },
      areaName: {
        required: '请选择所在区域'
      },
      address: {
        required: '请输入具体地址'
      },
      contact: {
        required: '请输入店铺联系人'
      },
      password: {
        required: '请输入密码',
      },
      confirmPassWord: {
        required: '请输入确认密码'
      },
      legalPerson:{
        required: '请输入法人姓名',
      },
      taxNumber:{
        required: '请输入税号',
      },
      licensePeriod:{
        required: '请输入营业执照有效期'
      },
      idCard:{
        required: '请输入身份证号',
      },
      idCardPeriod:{
        required: '请输入身份证有效期'
      },
      phone:{
        required: '请输入手机号码'
      },
      sms:{
        required: '请输入短信验证码'
      },
    }

    this.WxValidate = new WxValidate(rules, messages)
  
  },
  afterRead(event) {
    const { file } = event.detail;
    let backFileList = []
    let formData = new FormData()
    formData.appendFile("file", file.url);
    formData.append("idCardSide", "back");
    let data = formData.getData();
    registerApi.idCard(data).then((res)=>{
      console.log("res------>",res)
      backFileList.push({ ...file, url: file.url });
      let  t = res.t
      this.setData({ backFileList ,idCardBack:res.url,idCardPeriod:t.idCardPeriod});
    })
  },
  beforeRead(event) {
    const { file, callback } = event.detail;
    callback(file.type === 'image');
  },
  onClose() {
    console.log("onClose-")
    this.setData({areaShow:false})
  },
  openAreaShow()  {
    this.setData({areaShow:true})
  },
  areaConfirm(val) {
    this.setData({areaShow:false})
    console.log("this.data.",val.detail)
  },
  //身份证正面 上传成功回调
  afterHeadRead(event) {
    const { file } = event.detail;
    let headFileList = []
    let formData = new FormData()
    formData.appendFile("file", file.url);
    formData.append("idCardSide", "front");
    let data = formData.getData();
    registerApi.idCard(data).then((res)=>{
      console.log("res------>",res)
      headFileList.push({ ...file, url: file.url });
      let t = res.t
      this.setData({ 
        headFileList ,
        idCardPositive:res.url,
        idCardName:t.name,
        idCard:t.number
      });
    })

   
  },
  //营业执照
  afterBusinessRead(event)  {
    const { file } = event.detail;
    let formData = new FormData()
    formData.appendFile("file", file.url);
    let data = formData.getData();
    registerApi.businessLicense(data).then((res)=>{
      // let   data  = res.data
      let headBusinessFileList = []
      let t = res.t
      headBusinessFileList.push({ ...file, url: file.url });
      this.setData({ 
        headBusinessFileList,
        license:res.url,
        taxNumber:t.code,
        legalPerson:t.legal,
        licensePeriod:t.period,
        storeName :t.unitName
       });
      console.log("res------xx----2-->",res)
    }).catch((err)=>{
      console.log("err------xx----1-->",err)
    })

  },
  businessDelete() {
    this.setData({ headBusinessFileList:[] });

  },
  bindRegionChange(e) {
    let areaList = e.detail.value
    let areaCodeList =  e.detail.code
    let areaCode = areaCodeList
    let areaName = areaList[0]+areaList[1]+ areaList[2]
    this.setData({areaCode,areaName})
    console.log('picker发送选择改变，携带值为', e.detail)
  },
  finished()  {
    this.setData({
      isCountDown:true,
      countFlg:false
    })
  },
  btnSmsClick() {
 
    if(!this.data.phone) {
      let validation = {
        phoneErr:'请输入手机号码'
      }
      this.setData({
        validation:validation
      })
      return
    }else {
      let validation = {
        phoneErr:''
      }
      this.setData({
        validation:validation
      })
    }
    let data = {
      phone:this.data.phone
    }
    if(this.data.countFlg) {
      return
    }
    registerApi.smsCode(this.data.phone).then(()=>{
      wx.showToast({
        title: '发送成功',
        icon:"none",
        duration:2500,
        mask:false
      });
      this.setData({
        countFlg:true,
        isCountDown:!this.data.isCountDown
      },()=>{
        const countDown = this.selectComponent('.control-count-down');
        countDown.start();
      })
  
    })
   
   
  },
  contrastName() {
    if(this.data.idCardName && this.data.legalPerson) {
      if(this.data.idCardName  !== this.data.legalPerson) {
        wx.showToast({
          title: '法人姓名跟身份证姓名不一致,请修改',
          icon:"none",
          duration:800,
          mask:false
        });
        return false
      }
    }
    return true
  },
  submitBtn(e) {
      let flg =  this.contrastName()
      if(!flg){
        return
      }
      if (!this.WxValidate.checkForm(e.detail.value)) {
        const error = this.WxValidate.errorList[0]
        wx.showToast({
          title: error.msg,
          icon: "none",
          duration: 800
        })
        return false
      }

      if(this.data.confirmPassWord !== this.data.password) {
        wx.showToast({
          title: '密码和确认密码不一致',
          icon:"none",
          duration:800,
          mask:false
        });
        return
      }

      if(this.data.headFileList.length == 0) {
        wx.showToast({
          title: '请上传法人身份证正面',
          icon:"none",
          duration:800,
          mask:false
        });
        return
      }

      if(this.data.backFileList.length == 0){
        wx.showToast({
          title: '请上传法人身份证反面',
          icon:"none",
          duration:800,
          mask:false
        });
        return
      }

       if(this.data.headBusinessFileList.length == 0){
        wx.showToast({
          title: '请上传营业执照',
          icon:"none",
          duration:800,
          mask:false
        });
        return
      }



      // if(!this.data.storeName){
      //   this.setData({
      //     validation:{
      //       storeNameErr: "请输入门店名称"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       storeNameErr: ""
      //     }
      //   })
      // }

      // if(!this.data.areaName){
      //   this.setData({
      //     validation:{
      //       areaCodeErr: "请选择所在区域"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       areaCodeErr: ""
      //     }
      //   })
      // }

      // if(!this.data.address){
      //   this.setData({
      //     validation:{
      //       addressErr: "请输入具体地址"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       addressErr: ""
      //     }
      //   })
      // }


      // if(!this.data.contact){
      //   this.setData({
      //     validation:{
      //       contactErr: "请输入店铺联系人"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       contactErr: ""
      //     }
      //   })
      // }

      // if(!this.data.password){
      //   this.setData({
      //     validation:{
      //       passwordErr: "请输入密码"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       passwordErr: ""
      //     }
      //   })
      // }

      // if(!this.data.confirmPassWord){
      //   this.setData({
      //     validation:{
      //       confirmPassWordErr: "请输入确认密码"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       confirmPassWordErr: ""
      //     }
      //   })
      // }

  

      // if(this.data.headFileList.length == 0){
      //   this.setData({
      //     validation:{
      //       legalPersonErr: "请上传法人身份证正面"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       legalPersonErr: ""
      //     }
      //   })
      // }

      // if(this.data.backFileList.length == 0){
      //   this.setData({
      //     validation:{
      //       legalPersonErr: "请上传法人身份证反面"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       legalPersonErr: ""
      //     }
      //   })
      // }

      // if(this.data.headBusinessFileList.length == 0){
      //   this.setData({
      //     validation:{
      //       businessErr: "请上传营业执照"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       businessErr: ""
      //     }
      //   })
      // }



      // if(!this.data.legalPerson){
      //   this.setData({
      //     validation:{
      //       legalPersonNameErr: "请输入法人姓名"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       legalPersonNameErr: ""
      //     }
      //   })
      // }

      // if(!this.data.taxNumber){
      //   this.setData({
      //     validation:{
      //       taxNumberErr: "请输入税号"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       taxNumberErr: ""
      //     }
      //   })
      // }

      // if(!this.data.licensePeriod){
      //   this.setData({
      //     validation:{
      //       licensePeriodErr: "请输入营业执照有效期"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       licensePeriodErr: ""
      //     }
      //   })
      // }

      // if(!this.data.idCard){
      //   this.setData({
      //     validation:{
      //       idCardErr: "请输入身份证号"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       idCardErr: ""
      //     }
      //   })
      // }

      // if(!this.data.idCardPeriod){
      //   this.setData({
      //     validation:{
      //       idCardPeriodErr: "请输入身份证有效期"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       idCardPeriodErr: ""
      //     }
      //   })
      // }

      // if(!this.data.phone){
      //   this.setData({
      //     validation:{
      //       phoneErr: "请输入手机号码"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       phoneErr: ""
      //     }
      //   })
      // }

      // if(!this.data.sms){
      //   this.setData({
      //     validation:{
      //       smsErr: "请输入短信验证码"
      //     }
      //   })
      //   return
      // }else {
      //   this.setData({
      //     validation:{
      //       smsErr: ""
      //     }
      //   })
      // }
      
      let data = {
        name:this.data.areaName,
        address:this.data.address,
        code:this.data.code,
        contact:this.data.contact,
        contactTel:this.data.phone,
        idCard:this.data.idCard,
        idCardBack:this.data.idCardBack,
        idCardPeriod:this.data.idCardPeriod,
        idCardPositive:this.data.idCardPositive,
        legalPerson:this.data.legalPerson,
        legalTel:this.data.legalTel,
        license:this.data.license,
        licensePeriod:this.data.licensePeriod,
        password:this.data.password,
        registerTel:this.data.phone,
        taxNumber:this.data.taxNumber,
        verificationCode:this.data.sms,
        regionId:this.data.areaCode[2],
        provinceId:this.data.areaCode[0],
        cityId:this.data.areaCode[0],

      }

      registerApi.fastRegister(data).then(()=>{
        wx.showToast({
          title: '注册成功!',
          icon:"none",
          duration:2500,
          mask:false
        });
        wx.navigateBack()
      })
  },
  insideBtn() {
    //内部登录
  }
}) 